package com.xjrsoft.module.customerTwo.EMP.electricMeter.service;

import com.xjrsoft.module.customerTwo.EMP.electricMeter.dto.TElectricMeterDto;
import com.xjrsoft.module.customerTwo.EMP.electricMeter.entity.TElectricMeter;
import com.xjrsoft.module.customerTwo.EMP.electricMeter.dto.TElectricMeterListDto;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xjrsoft.common.page.PageOutput;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjrsoft.module.customerTwo.EMP.t_water_cost_records_day.vo.GetWaterTotalVO;

import java.math.BigDecimal;
import java.util.List;

/**
 *  服务类
 *
 * @author dongxinhang
 * @since 2023-07-18
 */
public interface ITElectricMeterService extends IService<TElectricMeter> {
	/**
	 * 自定义分页
	 *
	 * @param pageListDto
	 * @return
	 */
	IPage<TElectricMeter> getPageList(TElectricMeterListDto pageListDto);
	boolean addTElectricMeter(TElectricMeter tElectricMeter);

	boolean updateTElectricMeter(String id, TElectricMeter tElectricMeter);

	boolean delete(String ids);

	boolean batchInsert(List<TElectricMeter> list);

	/**
	 * 根据房间编号，时间范围获取该房间该段时间内的电量
	 * @param dto
	 * @return
	 */
	BigDecimal getElectricCost(TElectricMeterDto dto);

	/**
	 * 根据身份证，时间范围获取该人时间范围内的用水量
	 * @param dto
	 * @return
	 */
	GetWaterTotalVO getWaterTotal(TElectricMeterDto dto);

	int insertIgnore(List<TElectricMeter> list);
}
